//////////////////////////////////////////////////////////////////////////////////
//	File	:	MainMenuState.h
//	Author	:	Yuri Oyoko
//	Purpose	:	This state defines the main menu of the game and its behavior
//////////////////////////////////////////////////////////////////////////////////
#pragma once

//Includes
#include "BaseState.h"
#include "BaseObject.h"
#include "BitmapFontPrinter.h"

class MainMenuState : public BaseState
{
private:
	int BackgroundImageID;
	int CursorImageID;
	int BackgroundMusicID;
	int MenuFocusSoundID;
	int MenuClickSoundID;
	
	int CursorPos;
	//State bools for determining which option is chosen
	bool PlayChosen;
	bool ExitChosen;
	bool OptionsChosen;
	bool AchievementsChosen;
	bool HelpChosen;
	bool CreditsChosen;
	float CurrentAlpha;
	
	BitmapFontPrinter thePrinter;
	int FreeParticles;
	MainMenuState();
	MainMenuState& operator=(const MainMenuState&);
	~MainMenuState();
	
public:

	//Returns the instance of the main menu state
	static MainMenuState* GetInstance();
	
	//Derived functions
	void Enter();
	void Exit();
	bool GetInput();
	void Update(float ElapsedTime);
	void Render();

	int GetFreeParticles(){return FreeParticles;}
	void SetFreeParticles(int Value){FreeParticles = Value;}

};